value = [1,2,3,4,5]
key = ['a','b','c','d','e']

# 已给定内容为键，创建值为空的字典
dic = dict.fromkeys(key)
print(dic)

# 使用dict() 根据给定的键、值创建字典
dic = dict(name='张三', age=18)
print(dic)

# zip创建字典
doc = dict(zip(key, value))
print(doc)

# 读取字典内容
print(doc['a'])
print(doc.get('a'))

# 字典中定义其他数据类型
dc = {'a': []}
dc['a'].append(12)
dc['a'].append(13)
print(dc)
print(dc.get('a'))

# 遍历字典
print('遍历字典'.center(50,'*'))
for item in doc.items():
    print(item)
for i, j in zip(doc.keys(), doc.values()):
    print(i,doc[i],j)

# 增加，修改，删除
print('增加，修改，删除'.center(50,'*'))
doc.setdefault('dd', 12)
print(doc)
doc['cc'] = 13
print(doc)
doc.update({'dd': 13,'ee':[11,22,33,44]})
print(doc)
doc.pop('dd')
print(doc)

# 字典popitem()方法作用是：随机返回并删除字典中的一对键和值（项）
# 为什么是随机删除呢？因为字典是无序的，没有所谓的“最后一项”或事其他顺序
# 在工作室如果遇到需要逐一删除项的工作，用popitem方法效率很高
print('字典popitem()方法'.center(50,'*'))
print(doc)
for i in range(7):
    doc.popitem()
    print(doc)

# 有序字典
print('有序字典'.center(50,'*'))
from collections import OrderedDict
od = OrderedDict()
od = {'a': 1, 'b': 2,'d':4, 'c': 3}
print(od)

import collections
ood = collections.OrderedDict()
ood = {'a': 1, 'b': 2,'d':4, 'c': 3}
print(ood)